package cn.xscrum.vtsp.domain;

import cn.xscrum.vtsp.vo.VtspActivityVo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import cn.xscrum.common.annotation.Excel;
import cn.xscrum.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * 活动信息对象 vtsp_activity
 *
 * @author xscrum
 * @date 2021-10-01
 */
@Data
/*public class ActivityPost extends BaseEntity*/
public class VtspActivity extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 活动唯一标识 */
    private Long activityId;

    /** 活动类型唯一标识 */
    @Excel(name = "活动类型唯一标识")
    private Long typeId;

    /** 活动名称 */
    @Excel(name = "活动名称")
    private String activityName;

    /** 活动类型名称 */
    @Excel(name = "活动类型名称")
    private String typeName;

    /** 联系人 */
    @Excel(name = "联系人")
    private String activityContact;

    /** 联系电话 */
    @Excel(name = "联系电话")
    private String activityPhone;

    /** $column.columnComment */
    @Excel(name = "是否需要报名")
    private Integer isEnroll;

    /** $column.columnComment */
    @Excel(name = "服务时长")
    private Long serveTime;

    /** 报名开始时间 */
    @Excel(name = "报名开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd")

    private Date enrollBegin;

    /** 报名结束时间 */
    @Excel(name = "报名结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd")//给前端的时间格式注解

    private Date enrollEnd;

    /** 活动开始时间 */
    @Excel(name = "活动开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date activityBegin;

    /** 活动结束时间 */
    @Excel(name = "活动结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date activityEnd;

    /** 活动区域 */
    @Excel(name = "活动区域")
    private String activityArea;

    /** 封面图 */
    @Excel(name = "封面图")
    private String activityCover;

    /** 活动详情 */
    @Excel(name = "活动详情")
    private String activityDetail;

    /** 状态（1：未发布        2：已发布      4：暂停    5：作废      6：已结项）  */
    @Excel(name = "活动状态")
    private Integer activityState;

    /** 备注 */
    @Excel(name = "备注")
    private String memo;

    //代表当前活动有哪些岗位
    private List<VtspPost> postList;

    /** 活动报名人数 */
    private Long attendNum;

    /** 志愿者参加活动次数 */
    private Long activityCount;

    /** 志愿者累计活动时长 */
/*    private Long sumTime;*/

    /** 业务所需额外属性如下：


    /** 该活动具有的岗位 */
    private List<VtspPost> activityPostList;

    /** 志愿者在该活动的服务时长 */
    private Long volunteerServeTime;

    /** 志愿者是否关注该活动 */
    private boolean Focused;

    private List<VtspPost> posts;


    /** 志愿者对于该活动的报名状态 */
    private Integer enrollState;

    /** 志愿者对于该活动的被评价状态 */
    private Integer appraiseState;


    /** 志愿者对于该活动的被评价状态 */
    private Long enrollNum;

    /*志愿者顾问额外属性*/
    /**  活动时间（活动开始时间 - 活动结束时间） */
    private String activityTime;
}
